Перейти к содержанию

Switch

Блок switch

Switch (Переключатель) - используется для выбора одного из нескольких путей выполнения программы, в зависимости от текущих условий.

Свойства

Входной аргумент Тип аргумента Тип переменной Описание
Expression Variable, Constant, Expression Int32, Double Проверяемое выражение (переменная)

По умолчанию, имеет 2 стандартных выхода: ОК и Error, но количество выходов может быть изменено.

Для этого необходимо в открыть свойсва блока и увеличить колличество кейсов кликом по кнопку "Добавить".

Блок switch2

После этого в окне появится дополнительное поле, для настройки добавленного случае. Можно добавить несколько кейсов.

Блок switch3

Тип проверяемого значения в поле Case будет зависеть от переменной в поле Expression.

Пример

Рассмотрим работу блока Switch на примере.

Блок switch4

Создадим переменную value1 типа Double с начальным значением равным 1.

Блок switch5

В блоке присваивания, будем прибавлять единицу к текущему значению переменной. Для этого составим следующий Expression:

value1+1

Блок switch6

Теперь настроим блок Switch. В качестве входного аргумента будем использовать нашу переменную value1 и добавим два кейса на проверку. Для этого необходимо нажать на кнопку "Добавить" и выбрать "Сase" в выпадающем списке.

Первый кейс сработает, если наша переменная станет равной 2, а второй - если переменная станет равной 3.

Блок switch7

Проведём связь от первого кейса (value1 = 2) до блока Delay. Установим задержку в этом блоке на 3 секунды, а после вернёмся по связям к блоку присваивания.

Блок switch8

Для второго кейса (value1 = 3) проведём связь к блоку сообщения, выведем полученное значение во всплывающем окне и закончим программу.

Блок switch9

Запустим программу, кликом по кнопке Play.

Блок switch10

Следить за ходом выполнения программы можно на панели «Контекст». Сначала, значение переменной value1 становится равным 2 и происходит задержка в 3 секунды. Далее, значение value1 увеличивается в блоке SetVariable и блок Switch направляет выполнение программы на вторую ветку, на блок Message.